package com.lxs.travel.route.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.lxs.travel.core.po.BaseEntity;
import lombok.Data;

import java.util.List;

/**
 * @Title: 旅游线路商品实体类
 * @Description:
 *
 * @Copyright 2019 lxs - Powered By 雪松
 * @Author: lxs
 * @Date:  2019/11/20
 * @Version V1.0
 */

@Data
@TableName("tab_route")
@JsonIgnoreProperties(value = {"handler"})
public class Route extends BaseEntity {

    private String rname;//线路名称，必输
    private Double price;//价格，必输
    @TableField("routeIntroduce")
    private String routeIntroduce;//线路介绍
    private String rflag;   //是否上架，必输，0代表没有上架，1代表是上架
    private String rdate;   //上架时间
    @TableField("isThemeTour")
    private String isThemeTour;//是否主题旅游，必输，0代表不是，1代表是
    private Integer count;//收藏数量
    private Integer cid;//所属分类，必输
    private String rimage;//缩略图
    private Integer sid;//所属商家
    @TableField("sourceId")
    private String sourceId;//抓取数据的来源id

    @TableField(exist = false)
    private Category category;//所属分类 使用resultmap的assocation处理
    @TableField(exist = false)
    private Seller seller;//所属商家 使用resultmap的assocation处理
    @TableField(exist = false)
    private List<RouteImg> routeImgList;//商品详情图片列表,关联属性，mybatis plus不能查，需要配置resultmap使用resultmap的collection处理

    @TableField(exist = false)
    private List<String> bigImgList; //商品详细大图列表，用于上传
    @TableField(exist = false)
    private List<String> smallImgList;//商品详细小图列表，用于上传

}



class Solution {
    public int lengthOfLongestSubstring(String s) {
        int maxSize = 0;
        int [] dict = new int[256]; //记录ASCII 码字符出现的位置，以字符作为下标
        int base = 0;
        int key = 0;
        int i=0;
        while(key < s.length()){
            i = s.charAt(key);
            if(dict[i] > base)
                base = dict[i];
            dict[i] = key+1; //以1作为起始位置，下标加1
            maxSize = (maxSize>key-base+1)?maxSize:key-base+1;
            key++;
        }
        return maxSize;
    }
}